package com.castle.fortress.admin.dify.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

@Data
public class ContractAnalysisResponse {
    
    /**
     * 事件类型
     */
    private String event;
    
    /**
     * 任务ID
     */
    @JsonProperty("task_id")
    private String taskId;
    
    /**
     * ID
     */
    private String id;
    
    /**
     * 消息ID
     */
    @JsonProperty("message_id")
    private String messageId;
    
    /**
     * 会话ID
     */
    @JsonProperty("conversation_id")
    private String conversationId;
    
    /**
     * 模式
     */
    private String mode;
    
    /**
     * 分析结果
     */
    private String answer;
    
    /**
     * 元数据
     */
    private Metadata metadata;
    
    /**
     * 创建时间
     */
    @JsonProperty("created_at")
    private Long createdAt;
    
    @Data
    public static class Metadata {
        private Usage usage;
    }
    
    @Data
    public static class Usage {
        /**
         * 提示词token数
         */
        @JsonProperty("prompt_tokens")
        private Integer promptTokens;
        
        /**
         * 提示词单价
         */
        @JsonProperty("prompt_unit_price")
        private String promptUnitPrice;
        
        /**
         * 提示词价格单位
         */
        @JsonProperty("prompt_price_unit")
        private String promptPriceUnit;
        
        /**
         * 提示词价格
         */
        @JsonProperty("prompt_price")
        private String promptPrice;
        
        /**
         * 完成token数
         */
        @JsonProperty("completion_tokens")
        private Integer completionTokens;
        
        /**
         * 完成单价
         */
        @JsonProperty("completion_unit_price")
        private String completionUnitPrice;
        
        /**
         * 完成价格单位
         */
        @JsonProperty("completion_price_unit")
        private String completionPriceUnit;
        
        /**
         * 完成价格
         */
        @JsonProperty("completion_price")
        private String completionPrice;
        
        /**
         * 总token数
         */
        @JsonProperty("total_tokens")
        private Integer totalTokens;
        
        /**
         * 总价格
         */
        @JsonProperty("total_price")
        private String totalPrice;
        
        /**
         * 货币
         */
        private String currency;
        
        /**
         * 延迟时间
         */
        private Double latency;
    }
} 